package br.com.caelum.vraptor.controller;

import java.util.List;

import javax.inject.Inject;
import javax.xml.ws.soap.Addressing;

import br.com.caelum.vraptor.Controller;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.anotations.Administracao;
import br.com.caelum.vraptor.anotations.Restrito;
import br.com.caelum.vraptor.componentes.AdministradorOn;
import br.com.caelum.vraptor.dao.FuncionarioDAO;
import br.com.caelum.vraptor.entidades.Funcionario;

@Controller
@Restrito
public class FuncionarioController {

	@Inject
	private FuncionarioDAO dao;
	@Inject
	private AdministradorOn administradorOn;
	@Inject
	private Result result;
	@Administracao
	public void salvar(Funcionario funcionario){
		dao.save(funcionario);
		result.redirectTo(this).lista();
	}
	@Administracao
	public void adicionar(){
		
	}
	@Administracao
	public List<Funcionario> lista(){
		return dao.find();
	}
	@Administracao
	public void delete(Integer id){
		Funcionario func = dao.find(id);
		dao.delete(func);
		result.redirectTo(this).lista();
	}
	@Restrito
	public Funcionario edit(int id){
		Funcionario funcionario = dao.find(id);
		return funcionario;
	}
	
}
